Improved testing for "max intervals" (Interval[null, null]) and "unknown intervals" (Interval(null, null)) - #116
Conversation
… "unknown intervals" (Interval(null, null))
|
The following tests have unmatched actual vs expected results. If that is as it should be, due to clinical_quality_language errors, then I am willing to approve. I am willing to enter issues into the cql repo. If Interval[null, null] actually means Interval[minimum value, maximum vale] then that explains many of the expected values. TestMaxIntervalEndsFalse returns null, but expected is false |
|
Correct, I believe the expected outcomes here are correct, and if an engine isn't getting these results, it needs to be corrected. |
bryantaustin13
left a comment
There was a problem hiding this comment.
Evaluated and approved
richfirely
left a comment
There was a problem hiding this comment.
Approved by Firely during Connectathon meeting 9/19/2026.
|
This is causing issues in cqframework/dqm-content-qicore-2025#58 |
|
Apologies for not noticing this before this was merged, but I think this might need more discussion. cql-tests/tests/cql/CqlIntervalOperatorsTest.xml Lines 1382 to 1385 in 9e92193 Interval[null, null] overlaps Interval[1, 10] should return true. That's only true if the type of the first operand can be inferred as Interval<Integer>. If the type of the first operand is Interval<Any> then the start and end operators just return null, and so the result of the overlaps should be null. So it's really a question of what types need to be inferred here.
The function signature for Related issue on the translator: cqframework/clinical_quality_language#1856 |
|
@dehall I don't think
So if |
|
Also I would argue that Integer is the only real possibility here. |
|
From that same link for Start:
But this sentence is new in CQL 2.0.0, not in 1.5.3: https://cql.hl7.org/N1A/04-logicalspecification.html#start I agree that Integer is the only useful choice in this scenario, but if we have the expression |
Fixed #106